package com.wkbb.common.handler;//package com.wkbb.common.mybatis;
//
//import java.sql.CallableStatement;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//
//import org.apache.ibatis.type.BaseTypeHandler;
//import org.apache.ibatis.type.JdbcType;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import com.wkbb.common.utils.AESCipher;
//
///**
// * mybatis 加密字段，暂时不启用
// */
//public class CryptTypeHandler extends BaseTypeHandler<String> {
//
//    private Logger logger = LoggerFactory.getLogger(CryptTypeHandler.class);
//
//    @Override
//    public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {
//
//        String value = null;
//        try {
//            if (parameter != null) {
//                value = AESCipher.encrypt(parameter);
//            }
//        } catch (Exception e) {
//            logger.error("加密失败", e);
//        }
//
//        ps.setString(i, value);
//    }
//
//    @Override
//    public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
//
//        String value = rs.getString(columnName);
//        return getDecrypt(value);
//
//    }
//
//    @Override
//    public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
//
//        String value = rs.getString(columnIndex);
//        return getDecrypt(value);
//
//    }
//
//    private String getDecrypt(String value) throws SQLException {
//
//        try {
//            if (value != null) {
//                value = AESCipher.decrypt(value);
//            }
//        } catch (Exception e) {
//            logger.error("解密失败", e);
//        }
//        return value;
//    }
//
//    @Override
//    public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
//
//        String value = cs.getString(columnIndex);
//        return getDecrypt(value);
//
//    }
//}
